local t = Instance.new("Tool") local h = Instance.new("Part",t) local m = Instance.new("FileMesh",h) t.Grip = CFrame.new(0.7, 0, -0.5)*CFrame.Angles(0,math.rad(-90),math.rad(-90)) h.Name = "Handle" h.Size = Vector3.new(4.92, 0.74, 0.84) m.MeshId = "rbxasset://fonts/rocketlauncher.mesh" m.TextureId = "rbxasset://textures/rocketlaunchertex.png" m.Scale = Vector3.new(0.75, 0.75, 0.75) m.VertexColor = Vector3.new(1,.5,.5) t.Parent = owner.Backpack local s = Instance.new("Sound") s.Parent = h s.SoundId = "rbxasset://sounds/Shoulder fired rocket.wav" s.Volume = 1 local r,ls function on(plr,pos) s:Play() local p = Instance.new("Part") p.Size = Vector3.new(1,1,4) local bpos = h.CFrame*CFrame.new(2.1, 0, 0.15) p.CFrame = CFrame.new(bpos.Position,pos) local bf = Instance.new("BodyForce") bf.Parent = p bf.Force = Vector3.new(0,p:GetMass()*workspace.Gravity,0) p.Velocity = p.CFrame.lookVector * 700 local g = false local own = plr.Character p.Touched:Connect(function(h) if g or h:IsDescendantOf(own) then return end g = true local e = Instance.new("Explosion") e.Hit:Connect(function(b) b:BreakJoints() b.Anchored = false end) e.BlastRadius = 20 e.Position = p.Position e.BlastPressure = 1000000 e.Parent = workspace local s = Instance.new("Sound") s.Parent = p s.SoundId = "rbxasset://sounds/Rocket shot.wav" s.Volume = 2 s.PlayOnRemove = true p:Destroy() end) p.Parent = script p:SetNetworkOwner(nil) game:GetService("Debris"):AddItem(p,20) end t.Equipped:Connect(function() r = Instance.new("RemoteEvent",t) r.OnServerEvent:Connect(on) ls = NLS([[ r = script.Parent m = game:service'Players'.LocalPlayer:GetMouse() m.Button1Down:Connect(function() r:FireServer(m.Hit.p) end) ]],r) end) t.Unequipped:Connect(function() ls:Destroy() r:Destroy() end)